#pragma once

#include "Utility/Configuration/SGParameter.h"
#include "DataStructure/Common/DataStructureExport.h"
#include "DataStructure/Common/DataStructureNamespace.h"

SG_DATASTRUCTURE_FEM_NAMESPACE_OPEN

    // 模态组合方法
    enum ModeCombType
    {
        COMB_UnKown = -1, ///< 设置错误
        COMB_ABS = 0,
        COMB_SRSS = 1,
        COMB_NRL = 2,
        COMB_CQC = 3,
    };

/**
 * @brief    对 PARAM 数据进行解析
 * 
 * @author   wanghuan
 * @date     2025.10.22
 */
class DECLSPEC SolParameter
{
public:
    SolParameter () = default;
    SolParameter (const SG::Utility::SGParameter& parameter):m_parameter(parameter) {}
    ~SolParameter () = default;
    /** @name ResponseSpectrumAnalysis */
    ///@{

    /// @brief    是否执行响应谱计算
    bool ExecuteRespSpectrumAnalysis () const;

    /// @brief  整型组合方法
    /// @return 
    ModeCombType GetModeCombMethod () const;
    ///@}
  private:
    SG::Utility::SGParameter m_parameter;
};

SG_DATASTRUCTURE_FEM_NAMESPACE_CLOSE